// pages/list/list.js
// 历史记录页面逻辑
Page({
  // 页面数据初始化

  /**
   * 页面的初始数据
   */
  data: {
      historyList: []  // 存储计算历史记录的数组
  },
  /**
   * 生命周期函数--监听页面加载
   * @param {object} options - 页面跳转参数
   */
  onLoad(options) {
    // 页面加载时初始化历史记录数据
    this.loadHistoryData();  // 调用加载历史记录方法
  },
  /**
   * 加载历史记录数据
   * 从本地存储获取计算历史记录
   * 更新页面数据中的historyList
   */
  loadHistoryData() {
    // 从本地存储获取历史记录数据
    const historyList = wx.getStorageSync('calculatorHistory') || [];  // 获取本地存储或默认空数组
    // 更新页面数据
    this.setData({
      historyList: historyList  // 更新历史记录列表数据
    });
  },

  /**
   * 清空历史记录
   * 弹出确认对话框，用户确认后清空本地存储
   * 更新页面数据并显示成功提示
   */
  clearHistory() {
    wx.showModal({
      title: '确认清空',
      content: '确定要清空所有历史记录吗？',
      success: (res) => {
        if (res.confirm) {
          // 清空本地存储中的历史记录
          wx.setStorageSync('calculatorHistory', []);
          
          // 更新页面数据
          // 更新页面数据
          this.setData({
            historyList: []  // 存储计算历史记录的数组
          });
          
          wx.showToast({
            title: '历史记录已清空',
            icon: 'success',
            duration: 1500
          });
        }
      }
    });
  },

  /**
   * 返回计算器页面
   * 使用wx.navigateBack返回上一页
   */
  backToCalculator() {
    wx.navigateBack();
  },

  /**
   * 复制计算表达式到剪贴板
   * @param {object} e - 点击事件对象
   * 根据索引获取对应表达式并复制到剪贴板
   * 显示成功提示
   */
  copyExpression(e) {
    const index = e.currentTarget.dataset.index;
    const expression = this.data.historyList[index].expression;
    
    wx.setClipboardData({
      data: expression,
      success: () => {
        wx.showToast({
          title: '已复制到剪贴板',
          icon: 'success',
          duration: 1500
        });
      }
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 每次显示页面时刷新历史记录
    this.loadHistoryData();  // 调用加载历史记录方法
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    // 下拉刷新历史记录
    this.loadHistoryData();  // 调用加载历史记录方法
    wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})